home *** CD-ROM | disk | FTP | other *** search
/ PC Media 7 / PC MEDIA CD07.iso / share / prog / cm / makefile < prev    next >
Encoding:
Makefile  |  1994-09-06  |  2.7 KB  |  99 lines

  1. # Makefile                                                                #
  2. # ----------------------------------------------------------------------- #
  3. # Compendium - C++ Container Class Library                                #
  4. # Copyright (C) 1992-1994, Glenn M. Poorman, All rights reserved          #
  5. # ----------------------------------------------------------------------- #
  6. # Makefile for cm library.  (Builds for all memory models and win32).     #
  7. #                                                                         #
  8. # Usage: make              - Builds CML.LIB for large memory model        #
  9. #                                                                         #
  10. #        make -DMDL=x      - Builds CMx.LIB for specific model            #
  11. #                            (small, compact, medium, large, huge, win32) #
  12. #                            where x can be s, c, m, l, h, or 32          #
  13. #                                                                         #
  14. #        make all          - Builds CMx.LIB for all memory models         #
  15. #                                                                         #
  16. #        make dirs         - Creates object directories                   #
  17. #                                                                         #
  18. #        make clean        - Removes all object and library files.        #
  19. # ----------------------------------------------------------------------- #
  20.  
  21. .AUTODEPEND
  22. .SWAP
  23.  
  24. !if !$d(MDL)
  25. MDL = l
  26. !endif
  27.  
  28. LIBRARY = cm
  29. INCDIR  = ..\..
  30.  
  31. .PATH.c   = $(INCDIR)\$(LIBRARY)\source
  32. .PATH.cpp = $(INCDIR)\$(LIBRARY)\source
  33. .PATH.obj = $(INCDIR)\$(LIBRARY)\lib\$(MDL)
  34.  
  35. LIB = $(LIBRARY)$(MDL).LIB
  36.  
  37. DEBUG   =
  38. OPT     = -Ox
  39. DEFINES =
  40. FILES   = \
  41. +cmarray.cpp \
  42. +cmassoc.cpp \
  43. +cmbag.cpp \
  44. +cmbdict.cpp \
  45. +cmbintr.cpp \
  46. +cmbtree.cpp \
  47. +cmcont.cpp \
  48. +cmdate.cpp \
  49. +cmdeque.cpp \
  50. +cmhash.cpp \
  51. +cmhdict.cpp \
  52. +cmiter.cpp \
  53. +cmlist.cpp \
  54. +cmobject.cpp \
  55. +cmobjref.cpp \
  56. +cmordarr.cpp \
  57. +cmqueue.cpp \
  58. +cmreserv.cpp \
  59. +cmresfil.cpp \
  60. +cmring.cpp \
  61. +cmset.cpp \
  62. +cmstack.cpp \
  63. +cmstring.cpp \
  64. +cmtime.cpp \
  65. +cmtokens.cpp
  66.  
  67. SOURCE=$(FILES:+=)
  68. OBJS=$(SOURCE:.cpp=.obj)
  69. LIBOBJS=$(FILES:.cpp=.obj)
  70.  
  71. !if $(MDL) == "32"
  72. CFLAGS = -c $(DEFINES) $(DEBUG) $(OPT) -n$(.PATH.obj)
  73. CC     = BCC32
  74. !else
  75. CFLAGS = -c -m$(MDL) $(DEFINES) $(DEBUG) $(OPT) -n$(.PATH.obj)
  76. CC     = BCC
  77. !endif
  78.  
  79. $(LIB)    : $(OBJS)
  80.     !if exist $(LIB) DEL $(LIB)
  81.     CD $(.PATH.obj)
  82.     TLIB /C /0 ..\$(LIB) @&&!
  83.     $(LIBOBJS)
  84. !
  85.     CD ..
  86.  
  87. .cpp.obj:
  88.     $(CC) $(CFLAGS) -I$(INCDIR) {$* }
  89.  
  90. dirs:
  91.     -for %m in (s c m l h 32) do md %m
  92.  
  93. clean:
  94.     -for %m in (s c m l h 32) do del %m\*.obj
  95.     DEL *.LIB
  96.  
  97. all:
  98.     for %m in (s c m l h 32) do make -DMDL=%m
  99.